5c6798bca1eeea8a8c478b8bf66e4f4e66e19cdf,community/kernel/src/test/java/org/neo4j/adversaries/fs/AdversarialFileChannel.java,AdversarialFileChannel,read,#ByteBuffer[]#number#number#,107

Before Change


    @Override
    public long read( ByteBuffer[] dsts, int offset, int length ) throws IOException
    {
        adversary.injectFailure( IOException.class );
        return super.read( dsts, offset, length );
    }

After Change


    @Override
    public long read( ByteBuffer[] dsts, int offset, int length ) throws IOException
    {
        if ( adversary.injectFailureOrMischief( IOException.class ) )
        {
            ByteBuffer lastBuf = dsts[dsts.length - 1];
            int oldLimit = mischiefLimit( lastBuf );
            long read = super.read( dsts, offset, length );
            lastBuf.limit( oldLimit );
            return read;
        }
        return super.read( dsts, offset, length );
    }